🌱 unbreak vscode-test on VS Code 1.131.0 and the changelog check (#1480) - #1481
Merged
Conversation
## Summary `Test (macos)` has been failing on every PR since VS Code 1.131.0 shipped, and `Verify changelog fragment` fails on every fork PR. Both are broken on main, not by any particular change. Confirmed by running `npx vscode-test` on a clean `ed42f5a` checkout. - 1.131.0 dropped `Contents/MacOS/Electron` for `Contents/MacOS/Code`, and `@vscode/test-electron` 2.x still spawns the old name. `.vscode-test.mjs` pins no version so it picks up stable at run time, which is why this started on its own. #1477 passed on 1.130.0. macOS failing then cancels linux and windows via fail-fast, so all three go red. - Bump `@vscode/test-electron` to 3.x. That gets it launching and exposes a second macOS failure underneath: VS Code opens a unix socket in its user data dir, and the default `.vscode-test/user-data` path is over the 104 byte `sun_path` limit. CI's macOS path is exactly 104, so the bump on its own would have swapped one failure for another. Point `--user-data-dir` at a short temp path. - `@vscode/test-cli` stops at 0.0.14 on purpose. 0.0.15 pulls `yargs@18`, which wants node `^22.12.0`, and `.nvmrc` is v22.9.0, so install dies with EBADENGINE before anything runs. Bumping `.nvmrc` would also work but that is a bigger call than this PR should make. - The changelog job checks out the PR head, which `actions/checkout` now refuses under `pull_request_target` since that runs fork code with a privileged token. It only needs the changed filenames, so ask the API for them instead. Avoids opting into `allow-unsafe-pr-checkout`. `test:integration` reports 0 passing before and after, because the webpack build never emits `out/test/`. That step exists to launch VS Code and exit clean, and it does again. The 150 tests CI reports come from `test:unit-tests`. ## Test plan - [x] `npx vscode-test` on main reproduces the macOS failure, and passes with these changes - [x] `Test (macos)`, `Test (linux)` and `Test (windows)` green on this PR - [ ] `Verify changelog fragment` green on the next bugfix or feature PR. It is skipped here since this is `:seedling:` Signed-off-by: Fabian von Feilitzsch <fabian@fabianism.us> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Cherry Picker <noreply@github.com>
3 tasks
djzager
approved these changes
Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test (macos)has been failing on every PR since VS Code 1.131.0shipped, and
Verify changelog fragmentfails on every fork PR. Bothare broken on main, not by any particular change. Confirmed by running
npx vscode-teston a cleaned42f5acheckout.Contents/MacOS/ElectronforContents/MacOS/Code,and
@vscode/test-electron2.x still spawns the old name..vscode-test.mjspins no version so it picks up stable at run time,which is why this started on its own. 🐛 Validate custom rules file types in profile file dialog #1477 passed on 1.130.0. macOS
failing then cancels linux and windows via fail-fast, so all three go
red.
@vscode/test-electronto 3.x. That gets it launching andexposes a second macOS failure underneath: VS Code opens a unix socket
in its user data dir, and the default
.vscode-test/user-datapath isover the 104 byte
sun_pathlimit. CI's macOS path is exactly 104, sothe bump on its own would have swapped one failure for another. Point
--user-data-dirat a short temp path.@vscode/test-clistops at 0.0.14 on purpose. 0.0.15 pullsyargs@18, which wants node^22.12.0, and.nvmrcis v22.9.0, soinstall dies with EBADENGINE before anything runs. Bumping
.nvmrcwould also work but that is a bigger call than this PR should make.
actions/checkoutnowrefuses under
pull_request_targetsince that runs fork code with aprivileged token. It only needs the changed filenames, so ask the API
for them instead. Avoids opting into
allow-unsafe-pr-checkout.test:integrationreports 0 passing before and after, because thewebpack build never emits
out/test/. That step exists to launch VSCode and exit clean, and it does again. The 150 tests CI reports come
from
test:unit-tests.Test plan
npx vscode-teston main reproduces the macOS failure, and passeswith these changes
Test (macos),Test (linux)andTest (windows)green on thisPR
Verify changelog fragmentgreen on the next bugfix or featurePR. It is skipped here since this is
:seedling:Signed-off-by: Fabian von Feilitzsch fabian@fabianism.us
Co-authored-by: Claude Opus 5 (1M context) noreply@anthropic.com
Signed-off-by: Cherry Picker noreply@github.com